
#ifndef __APP_MESSAGE_H__
#define __APP_MESSAGE_H__

#include "log/log.h"   
#include "cJSON/cJSON.h" 
#include <stdlib.h>
#include <string.h>
#include "App_Common.h"

/**
 * @brief 将字符数组消息转为 cJSON 字符串消息
 * 
 * 该函数接收一个字符数组及其长度，将其转换为符合 cJSON 格式的字符串。
 * 调用者需要负责释放返回的字符串内存以避免内存泄漏。
 * 
 * @param array 指向待转换的字符数组的指针
 * @param len 字符数组的长度
 * @return char* 转换后的 cJSON 字符串，如果转换失败则返回 NULL
 */
char *App_Message_CharArrayToJson(char *array, int len);

/**
 * @brief 将 cJSON 字符串消息转为字符数组消息
 * 
 * 该函数接收一个 cJSON 字符串，将其解析并转换为字符数组，存储到指定的缓冲区中。
 * 
 * @param json 指向待解析的 cJSON 字符串的指针
 * @param arraybuff 用于存储转换后字符数组的缓冲区
 * @param buff_size 缓冲区的大小，用于防止缓冲区溢出
 * @return int 转换后的字符数组长度，如果解析失败则返回 -1
 */
int App_Message_JsonToCharArray(char *json, char *arraybuff, int buff_size);

#endif /* __APP_MESSAGE_H__ */
